#ifndef __RELAYER_H__
#define __RELAYER_H__

typedef enum{
    STATE_RUNNING = 1,
    STATE_CANCELED,
    STATE_OVER
}jobstate_t;

typedef struct{
    jobstate_t jobstate;
    int fd1, fd2;
    //int64_t cout12, cout21; //流量统计
    //struct timeval start,end;
}rel_job_t;


/* return
 * >= 0         成功,返回当前任务的ID
 * == -EINVAL   失败,参数非法
 * == -ENOSPC   失败,任务数组已满
 * == -ENOMEM   失败,内存分配有误
 */
int rel_addjob(int fd1, int fd2);

#if 0
/* return
 * == 0         成功,当前任务已取消
 * == -EINVAL   失败,参数非法
 * == -EBUSY    失败,任务已被取消
 */
int rel_canceljob(int id);


/* return
 * == 0         成功,指定任务已终止并返回状态
 * == -EINVAL   失败,参数非法
 */
int rel_waitjob(int id, rel_job_t *);


/* return
 * == 0         成功,指定任务已终止并返回状态
 * == -EINVAL   失败,参数非法
 */
int rel_statjob(int id, struct rel_job_t *);
#endif

#endif //__RELAYER_H__
